#include <stdio.h>

int gcd(int a,int b)
{
	int temp;
	if(a<b)
	{
		temp=a;
		a=b;
		b=temp;
	}//a要大于b才能进行下面步骤
	while(a%b!=0)
	{
		temp=a%b;
		a=b;
		b=temp;
	}// a/b=c.....d     
	return b;
}//辗转相除法,a%b==0时，b为最大公约数

int lcm(int a,int b)
{
	return a*b/gcd(a,b);
}

int main()
{
	int m,n;
	scanf("%d %d",&m,&n);
	printf("%d\n",gcd(m,n));
	printf("%d\n",lcm(m,n));
	return 0;
}